#include "common.h"
#include "file_copy.h"       // 引入拷贝模块
#include "file_compare.h"    // 引入对比模块（关键修正）
#include "tcp_transfer.h"

// 主菜单
void show_main_menu() {
    printf("\n===== 高可靠文件管理系统 =====\n");
    printf("1. 文件拷贝（带进度监控）\n");
    printf("2. 文件完整性校验\n");
    printf("3. 局域网文件传输\n");
    printf("4. 退出系统\n");
    printf("=============================\n");
}

int main() {
    int choice;
    signal(SIGPIPE, SIG_IGN);  // 防止传输中断崩溃

    while (1) {
        show_main_menu();
        printf("请选择功能 (1-4): ");
        
        // 处理输入错误
        if (scanf("%d", &choice) != 1) {
            choice = -1;
            while (getchar() != '\n');  // 清空缓冲区
        }

        switch (choice) {
            case 1:
                file_copy_menu();       // 调用拷贝模块（已声明）
                break;
            case 2:
                file_compare_menu();    // 修正：调用对比模块（非file_verify_menu）
                break;
            case 3:
                tcp_transfer_menu();
                break;
            case 4:
                printf("退出系统，再见！\n");
                return 0;
            default:
                printf("无效选择，请重新输入！\n");
        }
    }
}
